import 'package:learning_content_admin_pannel.core/core/domain/clients/api_client.dart';
import 'package:learning_content_admin_pannel.core/core/domain/entities/access_credentials.dart';

part 'result.dart';

abstract class Initialize {
  InitializationResult call();
}

class InitializeImpl implements Initialize {
  const InitializeImpl({
    required ApiClient apiClient,
  }) : _apiClient = apiClient;

  final ApiClient _apiClient;

  @override
  InitializationResult call() {
    final result = InitializationResult(
      accessCredentialStream: _apiClient.accessCredentialStream,
    );

    return result;
  }
}
